home *** CD-ROM | disk | FTP | other *** search
- REM
- REM (MacDrawPoly.BAS)
- REM
- REM CREATES A 'MACDRAW(PICT)' CLOSED-POLYGON TWO DIFF WAYS
- REM
- WINDOW OFF
- COORDINATE WINDOW
- REM
- REM DEFINE 'SHORT' PICCOMMENTS
- REM
- NIL&=0
- noData%=0
- picDwgBeg%=130
- picDwgEnd%=131
- PolyBegin%=160
- PolyEnd%=161
- picPlyClo%=165
- REM
- REM DEFINE PICTURE RECTANGLE (A FULL-SIZE 'MACDRAW' PAGE)
- REM
- picRect=0.
- picTop%=0
- picLeft%=0
- picBottom%=720
- picRight%=576
- REM
- REM 'INITIALIZE' PICTURE
- REM
- CALL SETRECT(picRect,picLeft%,picTop%,picRight%,picBottom%)
- REM
- REM CREATE THE 'MACDRAW' POLYGONS
- REM
- FOR File%=1 TO 2
- PicHand&=FN OPENPICTURE(picRect)
- REM
- REM 'BEGIN' A 'MACDRAW' PICTURE
- REM
- CALL PICCOMMENT(picDwgBeg%,noData%,NIL&)
- IF File%=2 THEN "poly2"
- REM
- REM * * * CREATE 'MACDRAW-TYPE' CLOSED-POLYGON * * *
- REM
- "poly1"
- CALL PICCOMMENT(PolyBegin%,noData%,NIL&)
- CALL PICCOMMENT(picPlyClo%,noData%,NIL&)
- CALL MOVETO(85,10)
- CALL LINETO(85,45)
- CALL LINETO(184,70)
- CALL LINETO(225,10)
- CALL LINETO(135,35)
- CALL LINETO(85,10)
- CALL PICCOMMENT(PolyEnd%,noData%,NIL&)
- GOTO "EndPicture"
- REM
- REM * * * CREATE CONVENTIONAL CLOSED-POLYGON * * *
- REM
- "poly2"
- PolyHandle&=FN OPENPOLY
- CALL MOVETO(85,10)
- CALL LINETO(85,45)
- CALL LINETO(184,70)
- CALL LINETO(225,10)
- CALL LINETO(135,35)
- CALL LINETO(85,10)
- CALL CLOSEPOLY
- CALL FRAMEPOLY(PolyHandle&)
- CALL KILLPOLY(PolyHandle&)
- REM
- REM 'END' A 'MACDRAW' PICTURE
- REM
- "EndPicture"
- CALL PICCOMMENT(picDwgEnd%,noData%,NIL&)
- REM
- REM CREATE THE 'MACDRAW' PICT FILE
- REM
- DEF OPEN "PICTMDRW"
- IF File%=1 THEN OPEN "O",#1,"MacDraw.poly1"
- IF File%=2 THEN OPEN "O",#1,"MacDraw.poly2"
- REM
- REM WRITE-OUT A 512 BYTE (256 WORDS OR INTEGERS) HEADER OF ZEROES
- REM
- A%=0
- FOR I%=1 TO 256
- WRITE #1,A%
- NEXT I%
- REM
- REM CLOSE THE PICTURE & WRITE-OUT THE 'PICT' DATA
- REM
- CALL CLOSEPICTURE
- PicPtr&=PEEK LONG(PicHand&)
- PicLength%=PEEK WORD(PicPtr&+0)
- NumWords%=PicLength%/2
- doubleNumWords%=2*NumWords%
- IF doubleNumWords%<PicLength% THEN NumWords%=NumWords%+1
- FOR I%=1 TO NumWords%
- J%=2*(I%-1)
- A%=PEEK WORD(PicPtr&+J%)
- WRITE #1,A%
- NEXT I%
- CALL KILLPICTURE(PicHand&)
- CLOSE #1
- NEXT File%
- END
-